package com.ftg.learn.chapter02;

import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * 这是一个测试类，完成对spring ioc功能测试
 * @author KangJx
 * @date 2021/5/25
 */
public class Play {

    public static void main(String[] args) {
        System.out.println("最原生的java");

//        Clazz c = new Clazz();
//        c.setCode(10001);
//        c.setCname("研发一班");
//
//        Student s1 = new Student();
//        s1.setSno(1234);
//        s1.setSname("刘瑜娇");
//        s1.setAge(18);
//        s1.setAddress("中国");
//        s1.setClazz(c);
//
//        Student s2 = new Student();
//        s2.setSno(1235);
//        s2.setSname("杨艳杰");
//        s2.setAge(18);
//        s2.setAddress("中国");
//        s2.setClazz(c);

        //new student() --->heap 占用 :
        //类容器 --- spring --- ioc 控制反转

        System.out.println("成功的将两个同学与一个研发一班进行绑定");


        System.out.println("---===springioc==-----");

        //BeanFactory 就是为了生成bean的一个工厂,自动化生成..所以我们要告知spring
        BeanFactory bf = new ClassPathXmlApplicationContext("application.xml");

        //getBean 对应的从类容器里找到  bean id 叫stu的一个javabean实例,

        Clazz c = (Clazz)bf.getBean("clazz");
        c.setCode(10001);
        c.setCname("研发一班");

        Student s1 = (Student)bf.getBean("stu");
        s1.setSno(1234);
        s1.setSname("刘瑜娇");
        s1.setAge(18);
        s1.setAddress("中国");
        s1.setClazz(c);

        Student s2 = (Student)bf.getBean("stu");
        s2.setSno(1235);
        s2.setSname("杨艳杰");
        s2.setAge(18);
        s2.setAddress("中国");
        s2.setClazz(c);

//        先天的内存优势


        System.out.println("我们的班级叫 ; " + c.getCname());

        System.out.println("同学叫："+s1.getSname());
        System.out.println(s1.getSname()+"所在的班级是:"+s1.getClazz().getCname());
        System.out.println("同学叫："+s2.getSname());
        System.out.println(s2.getSname()+"所在的班级是:"+s2.getClazz().getCname());
        //所有java开发级框架，spring整合,核心方法 存在类里面的！
        //类一定要实例化 - 完成类的实例，关系管理
        //spring 涉猎 java 100% spring
    }

}
